<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 为 数组，增加一个 add10 的实例方法
  // 即 arr.add10(),  它的返回值为 arr 中每个数字增加 10
const arr = [1, 2, 23, 4, 5, 6, 7];

Array.prototype.add10 = function() {
  // console.log(this);
  return this.map(d => d + 10);
}

arr.add10();
// console.log(arr.add10());

// for (const key in arr) {
//   console.log(key);
// }

Object.prototype.alias = 'Yo';

const object = {
  name: 'xx',
  age: 'xx'
}


// for (const key in obj) {
  // console.log(key);
// }

// Object.hasOwnProperty.call(object, key)  ->  判断 key 是不是 object 自己的属性
for (const key in object) {
  if (Object.hasOwnProperty.call(object, key)) {
    const element = object[key];
    console.log('element', key);
  }
}


// 总结： for ... in 的特性：
  // 遍历 对象 和 其原型对象(原型链) 上的 属性名

</script>